Suggestion of alternate user input using different user interface

ABSTRACT

Method(s) and apparatus(es) relating generally to an electronic device having a display and a touch-sensitive input device are disclosed. In such a method, a first keypad is displayed on the display. Obtained is sensed information from the touch-sensitive input device responsive to user input in association with the first keypad. The user input is determined to be for a second keypad different from the first keypad. A corresponding input to the user input is determined using the sensed information in association with the second keypad. The corresponding input is displayed on the display.

FIELD

The following description relates to a user interface. Moreparticularly, the following description relates to suggestion ofalternate user input using a different user interface displayed on adisplay and input with a touch-sensitive input device.

BACKGROUND

People sometimes type on a displayed user interface without changing akeypad from numbers to characters, or vice versa. The typed text in someinstances may not make any sense, as it appears as gibberish. In thepast this meant a user had to delete all he/she has typed with theincorrect keypad, change the keypad, and then retype their intendedinput. Along those lines, a user typing on an incorrect keypad displayedon a display in association with a touch-sensitive input device wouldhave to manually correct the incorrect entry or entries, as onlygibberish was in effect entered. Then, the user would have to manuallydelete the gibberish entry and replace same by typing using a correctkeypad displayed on such a display.

SUMMARY

A method relates generally to an electronic device having a display anda touch-sensitive input device. In such a method, a first keypad isdisplayed on the display. Obtained is sensed information from thetouch-sensitive input device responsive to user input in associationwith the first keypad. The user input is determined to be for a secondkeypad different from the first keypad. A corresponding input to theuser input is determined using the sensed information in associationwith the second keypad. The corresponding input is displayed on thedisplay.

An apparatus relates generally to a user interface. In such anapparatus, a display is operable to display the user interface includinga first keypad. A touch-sensitive input device is aligned to thedisplay. Storage is configured to store sensed information from thetouch-sensitive input device corresponding to first keys of the firstkeypad for receipt of a user input. A programmed processor is configuredto: determine the sensed information corresponds to second keys of asecond keypad; and determine a corresponding input for the user input inassociation with second keys of the second keypad using the sensedinformation.

A method relates generally to a programmed electronic device having adisplay and a touch-sensitive input device. In such a method, a keypadapp is installed in the programmed electronic device. The keypad appincludes instructions to configure the programmed electronic device for:obtaining sensed information for a user input provided via thetouch-sensitive input device in association with first keys of a firstkeypad on the display; determining the user input to be for a secondkeypad different from the first keypad; associating the sensedinformation with second keys of the second keypad to obtain arepresentation of the user input; referencing the representation againsta dictionary associated with the second keypad; and displaying therepresentation on the display as a corresponding input to the user inputfor user selection.

Other features will be recognized from consideration of the DetailedDescription and Claims, which follow.

BRIEF DESCRIPTION OF THE DRAWINGS

Accompanying drawings show exemplary apparatus(es) and/or method(s).However, the accompanying drawings should not be taken to limit thescope of the claims, but are for explanation and understanding only.

FIG. 1-1 is a pictorial diagram depicting an exemplary screen image of adisplay screen of a mobile device.

FIG. 1-2 is block diagram depicting an exemplary portable communicationdevice.

FIG. 2 is a flow diagram depicting an exemplary keypad mode app flow.

FIGS. 3-1, 3-2 and FIG. 4 are pictorial diagrams depicting alternateprogressions of a screen image corresponding to an example of a keypadmode app flow of FIG. 2.

FIGS. 5-1 through 5-5 are pictorial diagrams depicting alternateprogressions of a screen image corresponding to an example of a keypadmode app flow of FIG. 2.

FIG. 6 is a flow diagram depicting an exemplary installation flow of akeypad app.

FIGS. 7-1 and 7-2 are flow diagrams depicting an exemplary keypad appuse flow.

FIG. 8 is a flow diagram depicting an exemplary weight generation flow.

FIG. 9 is a flow diagram depicting an exemplary language modedetermination flow.

FIGS. 10-1 through 10-4 are pictorial diagrams depicting an exemplarymulti-function printer (“MFP”) display having a touch screen with userinterfaces respectively displayed.

FIG. 11 is a pictorial diagram depicting an exemplary network.

DETAILED DESCRIPTION

In the following description, numerous specific details are set forth toprovide a more thorough description of the specific examples describedherein. It should be apparent, however, to one skilled in the art, thatone or more other examples and/or variations of these examples may bepracticed without all the specific details given below. In otherinstances, well known features have not been described in detail so asnot to obscure the description of the examples herein. For ease ofillustration, the same number labels are used in different diagrams torefer to the same items; however, in alternative examples the items maybe different.

Exemplary apparatus(es) and/or method(s) are described herein. It shouldbe understood that the word “exemplary” is used herein to mean “servingas an example, instance, or illustration.” Any example or featuredescribed herein as “exemplary” is not necessarily to be construed aspreferred or advantageous over other examples or features.

Reference will now be made in detail to examples which are illustratedin the accompanying drawings. In the following detailed description,numerous specific details are set forth in order to provide a thoroughunderstanding of the following described implementation examples. Itshould be apparent, however, to one skilled in the art, that theimplementation examples described below may be practiced without all thespecific details given below. Moreover, the example implementations arenot intended to be exhaustive or to limit scope of this disclosure tothe precise forms disclosed, and modifications and variations arepossible in light of the following teachings or may be acquired frompracticing one or more of the teachings hereof. The implementationexamples were chosen and described in order to best explain principlesand practical applications of the teachings hereof to enable othersskilled in the art to utilize one or more of such teachings in variousimplementation examples and with various modifications as are suited tothe particular use contemplated. In other instances, well-known methods,procedures, components, circuits, and/or networks have not beendescribed in detail so as not to unnecessarily obscure the describedimplementation examples.

For purposes of explanation, specific nomenclature is set forth toprovide a thorough understanding of the various concepts disclosedherein. However, the terminology used herein is for the purpose ofdescribing particular examples only and is not intended to be limiting.As used herein, the singular forms “a”, “an” and “the” are intended toinclude the plural forms as well, unless the context clearly indicatesotherwise. As used herein, the term “if” may be construed to mean “when”or “upon” or “in response to determining” or “in response to detecting,”depending on the context. Similarly, the phrase “if it is determined” or“if [a stated condition or event] is detected” may be construed to mean“upon determining” or “in response to determining” or “upon detecting[the stated condition or event]” or “in response to detecting [thestated condition or event],” depending on the context. It will also beunderstood that the term “and/or” as used herein refers to andencompasses any and all possible combinations of one or more of theassociated listed items. It will be further understood that the terms“includes” and/or “including,” when used in this specification, specifythe presence of stated features, integers, steps, operations, elements,and/or components, but do not preclude the presence or addition of oneor more other features, integers, steps, operations, elements,components, and/or groups thereof. It will also be understood that,although the terms first, second, etc. may be used herein to describevarious elements, these elements should not be limited by these terms,as these terms are only used to distinguish one element from another.

Some portions of the detailed descriptions that follow are presented interms of algorithms and symbolic representations of operations on databits, including within a register or a memory. These algorithmicdescriptions and representations are the means used by those skilled inthe data processing arts to most effectively convey the substance oftheir work to others skilled in the art. An algorithm is here, andgenerally, conceived to be a self-consistent sequence of steps leadingto a desired result. The steps are those involving physicalmanipulations of physical quantities. Usually, though not necessarily,these quantities take the form of optical, electrical or magneticsignals capable of being stored, transferred, combined, compared, andotherwise manipulated. It has proven convenient at times, principallyfor reasons of common usage, to refer to these signals as bits, values,elements, symbols, characters, terms, numbers, or the like.

It should be borne in mind, however, that all of these and similar termsare to be associated with the appropriate physical quantities and aremerely convenient labels applied to these quantities. Unlessspecifically stated otherwise as apparent from the following discussion,it is appreciated that throughout the description, discussions utilizingterms such as “processing” or “computing” or “calculating” or“determining” or “displaying” or the like, refer to the action andprocesses of a computer system, or similar electronic computing device,that manipulates and transforms data represented as physical(electronic) quantities within the computer system's registers ormemories into other data similarly represented as physical quantitieswithin the computer system memories or registers or other suchinformation storage, transmission or display devices.

Concepts described herein may be embodied as apparatus, method, system,or computer program product. Accordingly, one or more of suchimplementation examples may take the form of an entirely hardwareimplementation example, an entirely software implementation example(including firmware, resident software, and micro-code, among others) oran implementation example combining software and hardware, and forclarity any and all of these implementation examples may generally bereferred to herein as a “circuit,” “module,” “system,” or other suitableterms. Furthermore, such implementation examples may be of the form of acomputer program product on a computer-usable storage medium havingcomputer-usable program code in the medium.

Any suitable computer usable or computer readable medium may beutilized. The computer-usable or computer-readable medium may be, forexample but not limited to, an electronic, magnetic, optical,electromagnetic, infrared, or semiconductor system, apparatus, device,or propagation medium. More specific examples (a non-exhaustive list) ofthe computer-readable medium would include the following: an electricalconnection having one or more wires, a portable computer diskette, ahard disk, a random access memory (“RAM”), a read-only memory (“ROM”),an erasable programmable read-only memory (“EPROM” or Flash memory), anoptical fiber, a portable compact disc read-only memory (“CD-ROM”), anoptical storage device, a transmission media such as those supportingthe Internet or an intranet, or a magnetic storage device. Thecomputer-usable or computer-readable medium could even be paper oranother suitable medium upon which the program is printed, as theprogram can be electronically captured, via, for instance, opticalscanning of the paper or other medium, then compiled, interpreted, orotherwise processed in a suitable manner, if necessary, and then storedin a computer memory. In the context of this document, a computer-usableor computer-readable medium may be any medium that can contain, store,communicate, propagate, or transport the program for use by or inconnection with the instruction execution system, apparatus, or device.The computer-usable medium may include a propagated data signal with thecomputer-usable program code embodied therewith, either in baseband oras part of a carrier wave. The computer usable program code may betransmitted using any appropriate medium, including but not limited tothe Internet, wireline, optical fiber cable, radio frequency (“RF”) orother means. For purposes of clarity by way of example and notlimitation, the latter types of media are generally referred to astransitory signal bearing media, and the former types of media aregenerally referred to as non-transitory signal bearing media.

Computer program code for carrying out operations in accordance withconcepts described herein may be written in an object orientedprogramming language such as Java, Smalltalk, C++ or the like. However,the computer program code for carrying out such operations may bewritten in conventional procedural programming languages, such as the“C” programming language or similar programming languages. The programcode may execute entirely on the user's computer, partly on the user'scomputer, as a stand-alone software package, partly on the user'scomputer and partly on a remote computer or entirely on the remotecomputer or server. In the latter scenario, the remote computer may beconnected to the user's computer through a local area network (“LAN”) ora wide area network (“WAN”), or the connection may be made to anexternal computer (for example, through the Internet using an InternetService Provider).

Systems and methods described herein may relate to an apparatus forperforming the operations associated therewith. This apparatus may bespecially constructed for the purposes identified, or it may include ageneral-purpose computer selectively activated or reconfigured by acomputer program stored in the computer.

Notwithstanding, the algorithms and displays presented herein are notinherently related to any particular computer or other apparatus.Various general-purpose systems may be used with programs in accordancewith the teachings herein, or it may prove convenient to construct amore specialized apparatus to perform the operations. In addition, evenif the following description is with reference to a programminglanguage, it should be appreciated that any of a variety of programminglanguages may be used to implement the teachings as described herein.

One or more examples are described below with reference to flowchartillustrations and/or block diagrams of methods, apparatus (includingsystems) and computer program products. It will be understood that eachblock of the flowchart illustrations and/or block diagrams, andcombinations of blocks in the flowchart illustrations and/or blockdiagrams, may be implemented by computer program instructions. Thesecomputer program instructions may be provided to a processor of ageneral purpose computer, special purpose computer, or otherprogrammable data processing apparatus to produce a machine, such thatthe instructions, which execute via the processor of the computer orother programmable data processing apparatus, create means forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks. These computer program instructions may also bestored in a computer-readable memory that can direct a computer or otherprogrammable data processing apparatus to function in a particularmanner, such that the instructions stored in the computer-readablememory produce an article of manufacture including instruction meanswhich implement the function/act specified in the flowchart and/or blockdiagram block or blocks. The computer program instructions may also beloaded onto a computer or other programmable data processing apparatusto cause a series of operational steps to be performed on the computeror other programmable apparatus to produce a computer implementedprocess such that the instructions which execute on the computer orother programmable apparatus provide steps for implementing thefunctions/acts specified in the flowchart and/or block diagram block orblocks.

The flowcharts and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof apparatuses (including systems), methods and computer programproducts according to various implementation examples. In this regard,each block in the flowchart or block diagrams may represent a module,segment, or portion of code, which comprises one or more executableinstructions for implementing the specified logical function(s). Itshould also be noted that, in some alternative implementations, thefunctions noted in the block may occur out of the order noted in thefigures. For example, two blocks shown in succession may, in fact, beexecuted substantially concurrently, or the blocks may sometimes beexecuted in the reverse order, depending upon the functionalityinvolved. It will also be noted that each block of the block diagramsand/or flowchart illustration, and combinations of blocks in the blockdiagrams and/or flowchart illustration, can be implemented by specialpurpose hardware-based systems which perform the specified functions oracts, or combinations of special purpose hardware and computerinstructions.

It should be understood that although the flow charts provided hereinshow a specific order of operations, the order of these operations maydiffer from what is depicted. Also two or more operations may beperformed concurrently or with partial concurrence. Such variation willdepend on the software and hardware systems chosen and on designerchoice. It is understood that all such variations are within the scopeof the disclosure. Likewise, software and web implementations may beaccomplished with standard programming techniques with rule based logicand other logic to accomplish the various database searching operations,correlation operations, comparison operations and decision operations.It should also be understood that the word “component” as used herein isintended to encompass implementations using one or more lines ofsoftware code, and/or hardware implementations, and/or equipment forreceiving manual inputs.

Before describing the examples illustratively depicted in the severalfigures, a general introduction is provided to further understanding.

When inputting information via a user interface displayed on a displayassociated with a touch sensitive input device, a user may not recognizethat the displayed user interface, such as a keypad or a keyboard, isincorrect for such user's intended input. This results in an error inthe user's displayed input, even though the user may have a correctinput though for a different user interface.

To avoid having to manually determine and correct errors associated witha user input from an incorrect user interface, a correct user interfacemay be determined in order to obtain an intended representation of auser. A suggested change may be automatically generated saving a usertime.

With the above general understanding borne in mind, variousconfigurations for obtaining a correct user interface and generating oneor more representations of a user input for such correct user interfaceare generally described below.

FIG. 1-1 is a pictorial diagram depicting an exemplary screen image 104of a display screen 102 of a mobile device 100. In this example, mobiledevice 100 is a mobile phone; however, it will be appreciated from thefollowing description that touch screen devices, including but notlimited to mobile phones, or other electronic devices with touch screensmay benefit from technology described herein.

Mobile device 100 includes a housing 101, a touch screen 103, and adisplay screen 102. A combination of a touch screen 103 and a displayscreen 102 is well-known, and thus not described herein in unnecessarydetail.

Display screen 102 may be used for displaying a screen image 104including a user interface (“UI”) 108. In this example, screen image 104is in a portrait orientation; however, a landscape orientation maylikewise be used. Moreover, in this example, user interface 108 is for amobile phone; however, in another example, user interface 108 may be aprinter user interface or some other electronic device interface.

FIG. 1-2 is block diagram depicting an exemplary portable communicationdevice (“mobile device”) 120. Mobile device 120 may include a wirelessinterface 110, an antenna 111, an antenna 112, an audio processor 113, aspeaker 114, and a microphone (“mic”) 115, a display 121, a displaycontroller 122, a touch-sensitive input device 123, a touch-sensitiveinput device controller 124, a microprocessor or microcontroller 125, aposition receiver 126, a media recorder 127, a cell transceiver 128, anda memory or memories (“memory”) 130.

Because one or more of the examples described herein may be implementedin a mobile phone, a detailed description of an example mobile phonesystem is provided. However, it should be understood that otherconfigurations of touch screen devices may benefit from the technologydescribed herein.

Microprocessor or microcontroller 125 may be programmed to controloverall operation of mobile device 120. Microprocessor ormicrocontroller 125 may include a commercially available or custommicroprocessor or microcontroller.

Memory 130 may be interconnected for communication with microprocessoror microcontroller 125 for storing programs and data used by mobiledevice 120. Memory 130 generally represents an overall hierarchy ofmemory devices containing software and data used to implement functionsof mobile device 120.

Memory 130 may include, for example, RAM or other volatile solid-statememory, flash or other non-volatile solid-state memory, a magneticstorage medium such as a hard disk drive, a removable storage media, orother suitable storage means. In addition to handling voicecommunications, mobile device 120 may be configured to transmit, receiveand process data, such as Web data communicated to and from a Webserver, text messages (also known as short message service or SMS),electronic mail messages, multimedia messages (also known as MMS), imagefiles, video files, audio files, ring tones, streaming audio, streamingvideo, data feeds (e.g., podcasts), and so forth.

In this example, memory 130 stores drivers, such as I/O device drivers,and operating system programs (“OS”) 137. Memory 130 stores applicationprograms (“apps”) 135 and data 136. Data may include application programdata.

I/O device drivers may include software routines accessed throughmicroprocessor or microcontroller 125 or by an OS stored in memory 130.Apps, to communicate with devices such as the touch-sensitive inputdevice 123 and keys and other user interface objects adaptivelydisplayed on a display 121, may use one or more of such drivers. Forexample, a driver may be used for communication from keys of a userinterface displayed on display 121 associated with touch zones of touchsensitive input device 123. Moreover, drivers may be used for otheractual or virtual input/output ports of mobile device 120.

Mobile device 120, such as a mobile or cell phone, includes a display121. Display 121 may be operatively coupled to and controlled by adisplay controller 122, which may be a suitable microcontroller ormicroprocessor programmed with a driver for operating display 121.

Touch-sensitive input device 123 may be operatively coupled to andcontrolled by a touch-sensitive input device controller 124, which maybe a suitable microcontroller or microprocessor. For example,touch-sensitive input device may be a haptic input device, apressure-sensitive input device, or some other touch-sensitive inputdevice.

Along those lines, touching activity input via touch-sensitive inputdevice 123 may be communicated to touch-sensitive input devicecontroller 124. Touch-sensitive input device controller 124 mayoptionally include local storage 129 for storing locations or touchzones or other sensed information 117 associated with touching activityinput. In another example, sensed information 117 may be stored inmemory 130.

Touch-sensitive input device controller 124 may be programmed with adriver or application program interface (“API”) for output of sensedinformation 117 to an app 118 of apps 135. In another example, app 118may be incorporated into OS 137. As described below in additionaldetail, app 118 is a keypad mode app.

In an example, touch-sensitive input device 123 is configured tofacilitate touch input functionally, namely detection of user touch ofan upper surface of display 121 and touch-sensitive input device 123combination and recognition of user input based on locations of suchtouching activity. Such touching activity may be discrete touches and/orswipes, the latter of which may be used to input multiple letterswithout lifting a finger from an upper surface of display 121 associatedwith a touch-sensitive input device 123. Further, touch-sensitive inputdevice controller 124 may be configured to provide haptic feedbackfeatures associated with such touch-sensitive input device 123.Functionality of touch-sensitive input device controller 124 may becarried out via dedicated hardware, firmware, software, or combinationsthereof.

With continued reference to FIG. 1-2, microprocessor or microcontroller125 may be programmed to interface directly via touch-sensitive inputdevice 123 or through touch-sensitive input device controller 124.Microprocessor or microcontroller 125 may be programmed or otherwiseconfigured to interface with one or more other interface device(s) ofmobile device 120. Microprocessor or microcontroller 125 may beinterconnected for interfacing with a transmitter/receiver(“transceiver”) 128, audio processing circuitry, such as an audioprocessor 113, and a position receiver 126, such as a global positioningsystem (“GPS”) receiver. An antenna 111 may be coupled to transceiver128 for bi-directional communication, such as cellular and/or satellitecommunication.

Mobile device 120 may include a media recorder and processor 127, suchas a still camera, a video camera, an audio recorder, or the like, tocapture digital pictures, audio and/or video. Microprocessor ormicrocontroller 125 may be interconnected for interfacing with mediarecorder and processor 127. Image, audio and/or video filescorresponding to the pictures, songs and/or video may be stored inmemory 130 as data 136.

Mobile device 120 may include an audio processor 113 for processingaudio signals, such as for example audio information transmitted by andreceived from transceiver 128. Microprocessor or microcontroller 125 maybe interconnected for interfacing with audio processor 113. Coupled toaudio processor 113 may be one or more speakers 114 and one or moremicrophones (“mic”) 115, for projecting and receiving sound, includingwithout limitation recording sound, via mobile device 120. Audio datamay be passed to audio processor 113 for playback. Audio data mayinclude, for example, audio data from an audio file stored in memory 130as data 136 and retrieved by microprocessor or microcontroller 125.Audio processor 113 may include buffers, decoders, amplifiers and thelike.

Mobile device 120 may include one or more local wireless interfaces 110,such as a WiFi interface, an infrared transceiver, and/or an RF adapter.Wireless interface 110 may provide a Bluetooth adapter, a WLAN adapter,an Ultra-Wideband (“UWB”) adapter, and/or the like. Wireless interface110 may be interconnected to an antenna 112 for communication. As isknown, a wireless interface 110 may be used with an accessory, such asfor example a hands-free adapter and/or a headset. For example, audibleoutput sound corresponding to audio data may be transferred from mobiledevice 120 to an adapter, another mobile radio terminal, a computer, oranother electronic device. In another example, wireless interface 110may be for communication within a cellular network or another WirelessWide-Area Network (“WWAN”).

Again, in this example, mobile device 120 is a mobile phone; however, itwill be appreciated from the following description that touch screendevices, including but not limited to mobile phones, printers, or otherelectronic devices with touch screens may benefit from technologydescribed herein. Though portable devices with touch screens aredescribed herein, it should be understood that other electronic deviceswith touch screens generally not intended to be portable devices maybenefit from technology described herein.

As mobile device 120 of FIG. 1-2 may be an example of mobile device 100of FIG. 1-1, for purposes of clarity by way of example and notlimitation, it shall be assumed that mobile device 100 and 120 are oneand the same, namely hereinafter “mobile device 100.” Along those lines,mobile device 100 is further described with simultaneous reference toFIGS. 1-1 and 1-2.

A display 121 may be physically coupled to housing 101 operable todisplay a user interface 108 including a keypad 107. User interface 108may include a suggestion(s) area 105 and a user input area 106 inaddition to keypad 107. In the example illustratively depicted, keypad107 is a letter keypad 107 for English. However, in another example adifferent keypad may be used, such as a numbers keypad, a symbolskeypad, a non-English letter or symbol keypad, or some other keypad.However, for purposes of clarity, it shall be assumed that an Englishletter keypad 107 is displayed unless otherwise indicated hereinbelow.

Touch-sensitive input device 123 may be aligned to display 121. Storage129 may be configured to store sensed information 117 input fromtouch-sensitive input device 123 corresponding to keys of keypad 107 forreceipt of a user input, which may be displayed in input area 106.

Microprocessor or microcontroller 125 may be programmed or otherwiseconfigured to determine whether sensed information 117 corresponds tokeys of another keypad different from English letter keypad 107. Inresponse to a determination that sensed information 117 corresponds tokeys of another keypad different from English letter keypad 107,microprocessor or microcontroller 125 may be programmed or otherwiseconfigured to determine a corresponding input for such a user input inassociation with corresponding keys of such other keypad using sensedinformation 117.

Microprocessor or microcontroller 125 may be programmed or otherwiseconfigured to cause a corresponding input, namely such a user input butfor such other keypad, to be displayed on display screen 102 of display121. Such corresponding input or corresponding inputs may be displayedin suggestion(s) area 105. One or more corresponding inputs may bedisplayed in suggestion(s) area 105 as alternatives to an original userinput. Such one or more corresponding inputs may prompt a user toacknowledge that a keypad displayed while such user input was input wasnot the intended keypad to be used by the user for such user input.Microprocessor or microcontroller 125 may be programmed or otherwiseconfigured to cause such other keypad to be displayed on display screen102 of display 121 responsive to user selection of a correspondinginput.

To determine whether sensed information 117 corresponds to keys ofanother keypad, namely a keypad other than one displayed on display 121when such user input was input, microprocessor or microcontroller 125may be programmed or otherwise configured to compare a current userinput in association with a currently displayed keypad for arepresentation of such user input in a language dictionary 138, whichmay be stored in memory 130, corresponding to or associated with suchdisplayed keypad. Microprocessor or microcontroller 125 may beprogrammed or otherwise configured to determine whether such user inputis in association with another keypad, namely not a currently displayedkeypad during such user input, by absence of any representation,including any probable representation, in such language dictionary 138associated with such currently displayed keypad.

To determine a corresponding input for a user input in association withother keys of another keypad using sensed information 117,microprocessor or microcontroller 125 may be programmed or otherwiseconfigured to use sensed information 117 in association with such otherkeypad to obtain a representation, including without limitation aprobable representation, of such a user input. Microprocessor ormicrocontroller 125 may be programmed or otherwise configured to searchfor such a representation in another language dictionary 139 inassociation with such other keypad. Microprocessor or microcontroller125 may be programmed or otherwise configured to provide suchrepresentation as a corresponding input to such user input fordisplaying thereof responsive to locating such a representation inlanguage dictionary 139.

With the above description borne in mind, examples of keypad mode app118 are described below.

FIG. 2 is a flow diagram depicting an exemplary keypad mode app flow200. Again, for purposes of clarity by way of example and notlimitation, it shall be assumed that keypad mode app flow 200 is for aportable device, such as a mobile phone for example, having a display121 and a touch-sensitive input device 123, such as previously describedfor example with reference to FIG. 1-2. However, a stationary electronicdevice or a portable device, including without limitation other than amobile phone, such as an electronic pad for example, may benefit fromtechnology described herein.

At operation 201, a first keypad may be displayed on a display. Atoperation 202, sensed information 117 may be obtained from atouch-sensitive input device responsive to user input in associationwith such a first keypad. Sensed information 117 may include locationinformation for such user input in association with such a first keypadin relation to a touch-sensitive input device of a portable device.

At operation 203, such user input may be determined to be for a secondkeypad different from such a first keypad. Operation 203 may includeoperations 211 and 212.

Along those lines, a determination that a current user input is for asecond keypad may include at operation 211 comparing such current userinput in association with such a first keypad to one or morerepresentations, including for exact and probable representations, in alanguage dictionary for at least one representation corresponding tosuch user input in such language dictionary.

A keypad, such as for example an English, Japanese, or other keypad, maybe associated with a language dictionary. A portable device may belocalized for a language, but may be configured to switch betweendifferent languages. This association between a keypad and a languagedictionary may be referred to as a language mode. However, a keypad maybe associated with symbols other than language symbols, such asdescribed below for example in additional detail.

At operation 212, it may be determined that such a user input is for asecond keypad, namely a keypad other than a displayed keypad duringinput of such user input, by absence of at least one representation ofsuch user input in such language dictionary.

At operation 204, a corresponding input to such user input may bedetermined using sensed information 117 in association with such asecond keypad. Operation 204 may include operations 221 through 223.

At operation 221, sensed information 117 may be used in association witha second keypad to obtain a representation of such user input. Atoperation 222, such representation may be located in a languagedictionary in association with such second keypad. For example, a searchof a language dictionary associated with such second keypad may beperformed for one or more representations, including an exact match or aprobable match, of such user input for such second keypad, and from suchsearch, such one or more representations of such user input may befound. A probable match may take into account one or more factors, suchas a typographical error, a misspelling, a context, or one or more otherfactors.

At operation 223, such located representation may be provided as acorresponding input to such user input for displaying on a display of aportable device. At operation 205, such a corresponding input may bedisplayed on a display of such a portable device.

Optionally, at operation 206, a change keypad option may be displayed ona display of a portable device responsive to user selection of such acorresponding input. Optionally, as part of operation 206 or as aseparate optional operation 207, such a second keypad may be displayedon a display of a portable device. This display of a second keypad maybe responsive to user selection of a change keypad option or acorresponding input.

For purposes of clarity by way of example and not limitation, FIGS. 3-1,3-2 and FIG. 4 are pictorial diagrams depicting alternate progressionsof a screen image corresponding to an example of a keypad mode app flow200 of FIG. 2. Along those lines, a keypad app 118 may be installed by aportable device manufacturer, reseller, user or other entity. Such akeypad app 118 may include instructions to configure a programmedportable device to perform operations as follows.

With reference to screen image 310, a user input 312 may be provided viatouch-sensitive input device in association with first keys of a firstkeypad, which in this example is a number-symbol keypad 311, displayedon a display. Such user input 312 may be displayed in an input area 106of a user interface. As illustratively depicted, user input 312 isgibberish, which in this example is “)3@@9”; however, in another exampleuser input 312 may be some other string of characters.

Sensed information 117 for such a user input may be obtained. Inresponse to sensed information 117, it may be determined that user input312 was intended to be for a second keypad, such as letter keypad 107for example, different from first keypad 311. Along those lines, sensedinformation 117 may be associated with second keys of a second keypad,such as letter keypad 107 for example, to obtain a representation ofuser input 312.

Such representation may be referenced against a dictionary associatedwith such a second keypad, such as letter keypad 107 for example, toobtain at least one corresponding input 303. In this example, possiblecorresponding inputs 303 to gibberish “)3@@9” are “Hello”, “Hecko” and“Help”. Corresponding inputs 303 may be displayed in screen image 310 ina suggestion(s) area 105 of a user interface. Optionally, one or more ofcorresponding input(s) 305, which may include one or more ofcorresponding inputs 303, may optionally be displayed on a suggestionsbar 304. In this example, possible corresponding inputs 305 to gibberish“)3@@9” are “Hello”, “Heck” and “Heiko”.

FIG. 3-2 is the same as FIG. 3-1, except rather than a number-symbolkeypad 311, a symbol keypad 321 is displayed. Thus, with reference toscreen image 320, for a same user input 312, a different gibberish,which in this example is “<{¥¥+|”, results. However, when associatedwith letter keypad 107, one or more same corresponding inputs 303 and/or305 may be obtained and displayed.

With reference to screen image 400 of FIG. 4, a user selectedcorresponding input 405 may be displayed in input area 106. Thus, arepresentation of user input 312 may be displayed as a correspondinginput to such user input for user selection, and responsive toselection, such user selected corresponding input 405 may be displayedin input area 106. Optionally, responsive to user selection of acorresponding input 405, a second keypad used to obtain suchcorresponding input 405 may be displayed on a user interface. In thisexample, such second keypad is letter keypad 107.

In some instances, a user may have already switched back to an intendedkeypad. For purposes of clarity by way of example and not limitation,FIGS. 5-1 through 5-5 are pictorial diagrams depicting alternateprogressions of a screen image corresponding to an example of a keypadmode app flow 200 of FIG. 2.

With reference to screen image 510, a user input 512 may be provided viatouch-sensitive input device in association with first keys of a firstkeypad. Such user input 512 may be displayed in an input area 106 of auser interface. However, typing of some keys, such as for example anapostrophe key, causes a keypad image to toggle. In this example, typingof an apostrophe caused a keypad image to toggle from a number-symbolkeypad to a letter keypad 107. A user may thus not immediately noticethe incorrect word in user input 512. User input 512 contains gibberish,which in this example is “2)/5”; however, in another example user input512 may be some other string of characters.

Sensed information 117 for such a user input may be obtained. Inresponse to sensed information 117, it may be determined that a portionof user input 512 was intended to be for a second keypad, such as letterkeypad 107 for example, different from a first keypad previouslydisplayed. Along those lines, sensed information 117 may be associatedwith second keys of a second keypad, such as letter keypad 107 forexample, to obtain a representation of a portion of user input 512.

With reference to screen image 520, a command bar 524 may be displayedto provide one or more commands 525 positioned with reference to aportion of user input 512 containing gibberish. A select command 526 maybe selected by a user to select such gibberish portion of user input512.

With reference to screen image 530, responsive to selection of a selectcommand 526 by a user, a selected gibberish portion 537 of user input512 may be highlighted and another command bar 534 may be displayed.Command bar 534 may include commands 535, which may include a replacecommand 536. Responsive to selection of replace command 536, a selectedgibberish portion 537 may be referenced against a dictionary associatedwith a second keypad, such as letter keypad 107 for example, to obtainat least one corresponding input 543, such as depicted in screen image540. In this example, possible corresponding inputs 543 to selectedgibberish portion “2)/5's” are “What's”, “What'd” and “What're”.

Corresponding inputs 543 may be displayed in screen image 540 in asuggestion(s) area 105 of a user interface. Optionally, one or more ofcorresponding input(s) 545, which may include one or more ofcorresponding inputs 543, may optionally be displayed on a suggestionsbar 544.

With reference to screen image 550, responsive to user selection of acorresponding input, such selected corresponding input 553 may bedisplayed along with other of user input 512, in input area 106. Thus, auser need not re-input all of user input 512 to correct a gibberishportion thereof.

FIG. 6 is a flow diagram depicting an exemplary installation flow 600 ofa keypad app. Again, for purposes of clarity by way of example and notlimitation, such a keypad app is for a programmed portable device havinga display and a touch-sensitive input device.

At operation 601, a provider stores a keypad app on an app server. Atoperation 602, such provider makes such a keypad app available fordownload from such an app server to such programmed portable device.Such download may be via a network, which may include a portion of theInternet, in communication with such app server or a gateway thereforeand such portable device.

At operation 603, such a keypad app may be downloaded from such appserver to such programmed portable device via such network. At operation604, such keypad app may be installed in such programmed portabledevice. Such keypad app includes instructions to be carried out by suchprogrammed portable device.

FIGS. 7-1 and 7-2 is a flow diagram depicting an exemplary keypad appuse flow 700. At operation 701, a user interface having a first keypadmay be displayed on a display of such a programmed portable device, andsuch display of such a first keypad may cause initiation of such akeypad app 710. Keypad app 710 may include instructions for operations702 through 706, as well as optional instructions as described below.

At operation 702, sensed information 117 may be obtained, such as fromstorage for example, for a user input provided via the touch-sensitiveinput device in association with first keys of a first keypad on adisplay of a portable device. At operation 703, such user input may bedetermined to be for a second keypad different from such first keypad.

At operation 704, such sensed information may be associated with secondkeys of such a second keypad to obtain a representation of such userinput. At operation 705, such representation may be referenced against adictionary associated with such second keypad. For example, a check forrepresentations, such as word(s) matching or likely matching suchrepresentation, in such dictionary may be performed. At operation 706,such representation may be displayed on a display as a correspondinginput to user input for user selection.

Optionally, at operation 722, a weight 721 may be generated using atleast one partial weight for at least one condition affecting likelihoodof an incorrect setting of a user interface. Such weight 721 mayoptionally be used at operation 703, and may optionally be initiated inparallel with operation 702.

Operation 703 may include a determination operation 713 that a currentmode is an incorrect mode or likely an incorrect mode, where such acurrent mode is associated with a first keypad and a correspondingdictionary. This determination may be made as previously describedherein. Along those lines, sensed information 117 may be associated withcurrently displayed keys during such user input to initially obtain aninitial representation of such user input. This initial representationmay be referenced against a dictionary associated with a first orcurrently displayed keypad during such user input.

If such initial representation, including an exact or a likely match ora likely intended match, is not found in such first keyboard associateddictionary, then responsive to determining absence of such initialrepresentation in such dictionary associated with such first keypad,operation 704 may be performed. If, however, such initial representationis found in such first keyboard associated dictionary, then such initialrepresentation may be assumed to be for a correct mode, and operationmay continue by obtaining incrementing sensed information, namely a nextuser input, at operation 714 and returning to operation 702.

Optionally, operation 723 may be performed to factor in weight 721 indetermining of whether a current mode is likely for an incorrect settingdisplayed keypad. Weight 721 may be from one or more partial weights.

FIG. 8 is a flow diagram depicting an exemplary weight generation flow800. Weight generation flow 800 may be for operation 722 for generationof a weight 721 indicating likelihood, or not, of an incorrect mode fora determination at operation 713. Such generated weight may be factoredin at operation 723 for such determination at operation 713.

Weight generation flow 800 may begin at 801 followed by an initialsetting of weight 721 to 0 at operation 803. At operation 805, it may bedetermined if a currently displayed keypad, namely a first keypad, isset to a non-character keypad, namely not a letter keypad for example.If a currently displayed keypad is determined at operation 805 to be anon-character keypad, a weight w0, associated with such condition, maybe added to a current value of weight wt at operation 807. If acurrently displayed keypad is a character keypad, then w0 is not addedto a current value of weight wt.

At operation 809, it may be determined if a rate of impression or otherinput rate of a user input is greater than a threshold rate, such as forexample indicating a user is typing “quickly” on a keypad. If athreshold rate is exceeded as determined at operation 809, then a weightw1, associated with such condition, may at operation 811 be added to acurrent value of weight wt. If a threshold rate is not exceeded asdetermined at operation 809, then w1 is not added to a current value ofweight wt.

At operation 813, it may be determined if a programmed portable deviceis being moved at a human walking rate during receipt of user input,such as for example indicating a user is walking while typing on akeypad. If a programmed portable device is being moved at a humanwalking rate, namely a range therefore, during receipt of user input asdetermined at operation 813, then a weight w2, associated with suchcondition, may at operation 815 be added to a current value of weightwt. If a programmed portable device is not being moved at a humanwalking rate during receipt of user input as determined at operation813, then w2 is not added to a current value of weight wt.

At operation 817, it may be determined if a programmed portable deviceis at a temperature, namely a range therefore, during a daylight time ofday, such as for example indicating a user is typing while glare due tosunlight may be present. If a programmed portable device is at atemperature, namely a range therefore, during a daylight time of day asdetermined at operation 817, then a weight w3, associated with suchcondition, may at operation 819 be added to a current value of weightwt. If a programmed portable device is not at a temperature, namely arange therefore, during a daylight time of day as determined atoperation 817, then w3 is not added to a current value of weight wt. Atemperature range further may vary by device model, device material,and/or time of day. As this range may vary by one or more of suchfactors, software may be coded to take into account such one or morefactors in setting a range indicating a user is typing while glare dueto sunlight may be present.

Weights w0 through w3 are partial weights one or more of which may beused to weight likelihood that a user may not notice a currentlydisplayed keyboard is incorrect for a user's intended input. One or moreof these conditions and/or one or more other conditions may be used toweigh likelihood that a user does not notice a currently displayedkeyboard is incorrect for a user's intended input.

FIG. 9 is a flow diagram depicting an exemplary language modedetermination flow 900. Language mode determination flow 900 may be usedfor example for one or more operations of exemplary keypad app use flow700. Language mode determination flow 900 may begin at 901.

At operation 903, a character keyboard and associated dictionary for apreviously used language mode may be obtained. At operation 905, asearch of such previously used associated dictionary may be performedfor any alternative input to a representation of a user input. Any oneor more alternative inputs found at operation 905 may be output atoperation 907, and then language mode determination flow 900 may returnto an operation calling up language mode determination flow 900. If noalternative input is found at operation 905, then language modedetermination flow 900 may continue at operation 909.

At operation 909, a character keyboard and associated dictionary for adevice localized language mode, if different than such previously usedlanguage mode, may be obtained. At operation 911, a search of suchlocalized associated dictionary may be performed for any alternativeinput to a representation of a user input. Any one or more alternativeinputs found at operation 911 may be output at operation 913, and thenlanguage mode determination flow 900 may return to an operation callingup language mode determination flow 900. If no alternative input isfound at operation 911, then language mode determination flow 900 maycontinue at operation 915.

At operation 915, a character keyboard and associated dictionary foranother language mode on a device, if different than such previouslyused language mode and localized language mode, may be obtained. Atoperation 917, a search of such other language associated dictionary maybe performed for any alternative input to a representation of a userinput. Any one or more alternative inputs found at operation 917 may beoutput at operation 919, and then language mode determination flow 900may return to an operation calling up language mode determination flow900. If no alternative input is found at operation 917, then languagemode determination flow 900 may continue until all languagepossibilities are exhausted and then return. If no language is found fora representation of a user input, then optionally at operation 921 auser prompt to change a keyboard may be displayed.

Though a mobile phone interface was described, it should be understoodthat other touch screens having a keypad user interface or other userinterface may benefit from technology described herein. For example,FIGS. 10-1 through 10-4 are pictorial diagrams depicting an exemplarymulti-function printer (“MFP”) display 1000 having a touch screen withuser interfaces respectively displayed. FIG. 10-1 is for a home userinterface 1001 displayed on MFP display 1000. FIG. 10-2 is for alowercase character keyboard user interface 1002 displayed on MFPdisplay 1000. FIG. 10-3 is for a symbol keyboard user interface 1003displayed on MFP display 1000. FIG. 10-4 is for an uppercase characterkeyboard user interface 1004 displayed on MFP display 1000. This is justone example of a user interface for an MFP, and other examples may befound, for example in U.S. Pat. No. 9,578,193. Accordingly, knowndetails regarding an MFP are not described in unnecessary detail forpurposes of clarity and not limitation.

Because one or more examples involve a network or networks, FIG. 11 is apictorial diagram depicting an exemplary network 1100, which may be usedto provide an app as described herein. Along those lines, network 1100may include one or more mobile phones 1101 in wireless communicationwith wireless access point (“AP”) 1103 and one or more mobile phones1101 in communication with a base station 1113.

A MFP 1102 may be in wireless communication with wireless AP 1103.Wireless AP may be connected for communication with a router 1104, whichin turn may be connected to a modem 1105. Modem 1105 and base station1113 may be in communication with the Internet-Cloud infrastructure1107.

A firewall 1106 may be in communication with the Internet-Cloudinfrastructure 1107. Firewall 1106 may be in communication with auniversal device service server 1108. Universal device service server1108 may be in communication with a content server 1109, a web server1111, and/or an app server 1112. App server 1112, as well as a network1100, may be used for downloading a keypad app as described herein.

Accordingly, known details regarding networks are not described inunnecessary detail for purposes of clarity and not limitation.

While the foregoing describes exemplary apparatus(es) and/or method(s),other and further examples in accordance with the one or more aspectsdescribed herein may be devised without departing from the scope hereof,which is determined by the claims that follow and equivalents thereof.Claims listing steps do not imply any order of the steps. Trademarks arethe property of their respective owners.

What is claimed is:
 1. A method for an electronic device having adisplay and a touch-sensitive input device, comprising: displaying afirst keypad on the display; obtaining sensed information from thetouch-sensitive input device responsive to user input in associationwith the first keypad; determining the user input to be for a secondkeypad different from the first keypad; determining a correspondinginput to the user input using the sensed information in association withthe second keypad; and displaying the corresponding input on thedisplay; wherein the determining the user input to be for the secondkeypad comprises: comparing the user input in association with the firstkeypad for at least one representation of the user input in a languagedictionary; and determining the user input is for the second keypad byabsence of the at least one representation in the language dictionary.2. The method according to claim 1, further comprising: displaying achange keypad option on the display responsive to user selection of thecorresponding input; and displaying the second keypad on the displayresponsive to user selection of the change keypad option.
 3. The methodaccording to claim 1, further comprising displaying the second keypad onthe display responsive to user selection of the corresponding input. 4.The method according to claim 1, wherein the language dictionary is afirst language dictionary, and wherein the determining the correspondinginput comprises: using the sensed information in association with thesecond keypad to obtain at least one other representation of the userinput; locating the at least one other representation in a secondlanguage dictionary in association with the second keypad; and providingthe at least one other representation as the corresponding input fordisplaying thereof.
 5. An apparatus, comprising: a display operable todisplay a user interface including a first keypad; a touch-sensitiveinput device aligned to the display; memory or local storage configuredto store sensed information from the touch-sensitive input devicecorresponding to first keys of the first keypad for receipt of a userinput; a microprocessor or microcontroller programmed to provide aprogrammed processor configured to: determine the sensed informationcorresponds to second keys of a second keypad; and determine acorresponding input for the user input in association with second keysof the second keypad using the sensed information; wherein to determinethe sensed information corresponds to the second keys of the secondkeypad, the programmed processor is configured to: compare the userinput in association with the first keypad for a representation of theuser input in a language dictionary; and determine the user input is inassociation with the second keypad by absence of the representation inthe language dictionary.
 6. The apparatus according to claim 5, whereinthe programmed processor is configured to cause the corresponding inputto be displayed on the display.
 7. The apparatus according to claim 6,wherein the programmed processor is configured to cause the secondkeypad to be displayed on the display responsive to user selection ofthe corresponding input.
 8. The apparatus according to claim 5, whereinthe language dictionary is a first language dictionary, and wherein, todetermine the corresponding input for the user input in association withthe second keys of the second keypad using the sensed information, theprogrammed processor is configured to: use the sensed information inassociation with the second keypad to obtain at least one otherrepresentation of the user input; search for the at least one otherrepresentation in a second language dictionary in association with thesecond keypad; and provide the at least one other representation as thecorresponding input for displaying thereof responsive to locating the atleast one other representation in the second language dictionary.
 9. Theapparatus according to claim 8, wherein the user interface is a printeruser interface.
 10. The apparatus according to claim 8, wherein thetouch-sensitive input device is a haptic input device.
 11. The apparatusaccording to claim 8, wherein the touch-sensitive input device is apressure-sensitive input device.
 12. A method for a programmedelectronic device having a display and a touch-sensitive input device,comprising: installing a keypad app in the programmed electronic device,the keypad app comprising instructions to configure the programmedelectronic device for: obtaining sensed information for a user inputprovided via the touch-sensitive input device in association with firstkeys of a first keypad on the display; determining the user input to befor a second keypad different from the first keypad; associating thesensed information with second keys of the second keypad to obtain arepresentation of the user input; referencing the representation againsta dictionary associated with the second keypad; and displaying therepresentation on the display as a corresponding input to the user inputfor user selection.
 13. The method according to claim 12, wherein therepresentation and the dictionary respectively are a firstrepresentation and a first dictionary; and wherein the determining theuser input to be for the second keypad different from the first keypadcomprises: associating the sensed information with the first keys toinitially obtain a second representation of the user input; referencingthe second representation against a second dictionary associated withthe first keypad; and determining absence of the second representationin the second dictionary.
 14. The method according to claim 12, whereinthe referencing the representation comprises checking the representationagainst representations in the dictionary.
 15. The method according toclaim 12, further comprising making the keypad app available fordownload from an app server to the programmed electronic device forinstallation of the keypad app in the programmed electronic device. 16.The method according to claim 12, further comprising switching fromdisplay of the first keypad to the second keypad on the display inresponse to user selection of the representation.
 17. The methodaccording to claim 12, wherein the determining the user input to be forthe second keypad different from the first keypad involves the firstkeypad being a non-character keypad.
 18. The method according to claim17, wherein the determining the user input to be for the second keypaddifferent from the first keypad involves at least one condition factorselected from: an input rate of the user input being greater than athreshold rate; the programmed electronic device being moved at a humanwalking rate during receipt of the user input; or the programmedelectronic device having a temperature greater than a thresholdtemperature.